<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Node基础</title>
</head>
<body>
	<p>NodeJS是一个解析器。是一个高性能的web服务器。</p>
	<p>前端工作者简单的可以使用命令交互模式调试代码，复杂的可编写工具提高工作效率。</p>
	<p>NodeJS模块：require、exports、module</p>
	<p>require函数：函数用于在当前模块中加载和使用别的模块</p>
	<p>exports对象：当前模块的导出对象，用于导出模块公有的属性和方法。别的模块通过require函数使用当前模块时得到的就是当前模块的exports对象</p>
	<p>module对象：可以访问到当前模块的一些相关信息，最多的用途是替换当前模块的导出对象。</p>
	<p>模块初始化：一个模块中的JS代码仅在模块第一次使用时被执行一次，并且在执行过程中初始化模块导出的对象，之后，缓存起来的导出对象会被重复利用。</p>
</body>
<script type="text/javascript">
	// require例子：模块名可以是相对路径（./）开头，也可以是绝对路径（/或C:）之类的盘符开头，文件后的扩展名.js可以省略。
	var foo1 = require('./foo');
	var foo2 = require('./foo.js');
	var foo3 = require("/home/user/foo");
	var f004 = require('/home/user/foo.js');
	// 还可以加载使用JSON文件
	var  data = require('./data.json');
	// exports例子：
	exports.hello = function() {
		console.log('Hello World!');
	}
	// module例子：假如模块导出的对象是一个普通对象，想要改成函数的话如下所示。
	module.exports = function() {
		console.log('Hello World!');
	}
</script>
</html>